package com.example.demo.manhua;

/**
 * @ClassName : ZuiDaGongYue
 * @Description :求最大公约数
 * 更相减损术；它的原理更加简单：两个正整数a和b（a>b），它们的最大公约数等于a-b的差值c和 较小数b的最大公约数。例如10和25，
 * 25减10的差是15，那么10和25的最大公约数，等同 于10和15的最大公约数。
 * **************************************************************************************************
 * 这种如果两个相差太大，递归次数太多
 * @Author : wind
 * @Date: 2021-01-27 14:56
 * @Version 1.0
 */
public class GreatestCommonDivisorV2 {

    public static void main(String[] args) {
        System.out.println(getMax(10000, 1));
    }

    static int getMax(int a, int b) {
        if (a == b) {
            return a;
        }
        int big = a > b ? a : b;
        int small = a < b ? a : b;

        return getMax(big - small, small);
    }
}
